home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Prog / H-K / KeMo Lib 1.5 / KeMo.p < prev    next >
Encoding:
Text File  |  1993-07-22  |  3.7 KB  |  175 lines  |  [TEXT/PJMM]

  1. {}
  2. {  File: KeMo.p }
  3. {        Pascal interface for the KeMo Reaction Time Utilities }
  4. {}
  5. { Copyright © Dan Costin 1992}
  6. { All Rights Reserved}
  7. {}
  8.  
  9. unit KeMo;
  10.  
  11. interface
  12.  
  13.     const
  14.  
  15.         KeMoAllDevs = $0001;
  16.                                         { flags for KeMoSelect }
  17.         KeMoDev2   = $0004;
  18.         KeMoKey    = $0004;
  19.         KeMoDev3   = $0008;
  20.         KeMoMouse  = $0008;
  21.         KeMoDev4   = $0010;
  22.         KeMoTablet = $0010;
  23.         KeMoDev8   = $0100;
  24.         KeMoDev9   = $0200;
  25.         KeMoDevA   = $0400;
  26.         KeMoDevB   = $0800;
  27.         KeMoDevC   = $1000;
  28.         KeMoDevD   = $2000;
  29.         KeMoDevE   = $4000;
  30.         KeMoDevF   = $8000;
  31.         KeMoOneKey = $00010000;
  32.         KeMoAllKeys = $00020000;
  33.         KeMoOneMouse = $00040000;
  34.         KeMoAllMice = $00080000;
  35.  
  36.         KeMoDown = $00;             { flags and transitions for KeMoWait }
  37.         KeMoUp = $01;
  38.         KeMoUpDown = $02;
  39.         KeMoTimedOut = $04;
  40.  
  41.         KeMoNoTimeOut = -1;        { no timeout for KeMoWait }
  42.  
  43.  
  44.         KeMoQuiet = $0001;            { flags for KeMoInit }
  45.         KeMoNoAlert = $0002;
  46.         KeMoAltKeys = $0004;
  47.         KeMoNoKeys = $0008;
  48.         KeMoNoTimer = $0010;
  49.         KeMoNoSync = $0020;
  50.         KeMoNoTCheck = $0040;
  51.         KeMoNoCorrection = $0080;        { flag for KeMoTimerStop }
  52.         KeMoNoMBarInit = $0100;
  53.  
  54.         KeMoErrorVeryOldSystem = -501;        { errors }
  55.         KeMoErrorOldSystem = -502;
  56.         KeMoErrorNotADB = -503;
  57.         KeMoErrorNotInitialized = -504;
  58.         KeMoErrorBadArgs = -505;
  59.         KeMoErrorUnsuccessful = -506;
  60.         KeMoErrorNoSuchDevice = -507;
  61.         KeMoErrorTimerRunning = -508;
  62.         KeMoErrorTimerNotRunning = -509;
  63.         KeMoErrorTimerNotInit = -510;
  64.         KeMoErrorTimerOff = -511;
  65.         KeMoErrorImproperTest = -512;
  66.         KeMoErrorNoHeapAlloc = -513;
  67.         KeMoErrorNoSync = -514;
  68.         KeMoErrorGestalt = -515;
  69.         KeMoErrorNoCorrection = -516;
  70.         KeMoErrorUnknownDevType = -517;
  71.         KeMoErrorOneDevOnly = -518;
  72.         KeMoErrorMBarHidden = -519;
  73.         KeMoErrorMBarShows = -520;
  74.  
  75.         KeMoErrorMisc = -599;
  76.  
  77.         { definitions for the more arbitrary ASCII codes returned by KeMoCode2Asc }
  78.  
  79.         K0 = 0;
  80.         K1 = 1;
  81.         K2 = 2;
  82.         K3 = 3;
  83.         K4 = 4;
  84.         K5 = 5;
  85.         K6 = 6;
  86.         K7 = 7;
  87.         K8 = 8;
  88.         K9 = 9;
  89.         F1 = 11;
  90.         F2 = 12;
  91.         F3 = 13;
  92.         F4 = 14;
  93.         F5 = 15;
  94.         F6 = 16;
  95.         F7 = 17;
  96.         F8 = 18;
  97.         F9 = 19;
  98.         F10 = 20;
  99.         F11 = 21;
  100.         F12 = 22;
  101.         F13 = 23;
  102.         F14 = 24;
  103.         F15 = 25;
  104.         KSLASH = 'A';
  105.         TAB = 'B';
  106.         COMMAND = 'C';
  107.         DELETE = 'D';
  108.         ESC = 'E'; { NO F }
  109.         POWER = 'G';
  110.         HELP = 'H'; { NO I OR J }
  111.         KENTER = 'K';
  112.         CAPS = 'L';
  113.         KMINUS = 'M';
  114.         NUMCLEAR = 'N';
  115.         OPTIONL = 'O';
  116.         KPERIOD = 'P';
  117.         KEQUAL = 'Q';
  118.         RETURN = 'R';
  119.         SHIFTL = 'S';
  120.         CTLL = 'T';
  121.         PGUP = 'U';
  122.         DOWN = 'V';
  123.         PGDOWN = 'W';
  124.         DEL = 'X';
  125.         HOME = 'Y';
  126.         ENDKEY = 'Z';
  127.         LEFT = '<';
  128.         RIGHT = '>';
  129.         UP = '^';
  130.         SHIFTR = '@';
  131.         CTLR = '#';
  132.         OPTIONR = '$';
  133.  
  134.     type
  135.                     { structure whose address is to be sent to KeMoWait }
  136.         KeMoParms = packed record
  137.                 key: Byte;
  138.                 key2: Byte;
  139.                 updown: Byte;
  140.                 updown2: Byte;
  141.             end;
  142.  
  143. {    function prototypes}
  144.  
  145.     function KeMoInit (flags: INTEGER): longint;
  146.     function KeMoSelect (flags: longint): longint;
  147.     function KeMoReset: longint;
  148.     function KeMoAccuracy: longint;
  149.     function KeMoWait (flags: INTEGER; timeout: longint; var parms: KeMoParms): longint;
  150.     function KeMoDelay (timeout: longint): longint;
  151.     function KeMoTimerTest: longint;
  152.  
  153.     function KeMoSync (when: INTEGER): longint;
  154.  
  155.     function KeMoTimerStart: longint;
  156.     function KeMoTimerStop (flags: INTEGER): longint;
  157.  
  158.     function KeMoCode2Asc (code: INTEGER): INTEGER;
  159.  
  160.     function KeMoHideMBar: longint;
  161.     function KeMoShowMBar: longint;
  162.     
  163.     function KeMoQuitAllApps: longint;
  164.  
  165. { available globals, set-up by calling KeMoInit() }
  166.             { KeMoDevArray: each position is 1 if there's a device at that address,
  167.                     0 otherwise, index from 0 to 15 }
  168. { extern char KeMoDevArray[], }
  169.             { KeMoDevType: each position has the original ADB device handler ID 
  170.                     for the device: usually 2 or 3 for keyboards, 1 for mouse,
  171.                     index from 0 to 15 }
  172. {              KeMoDevType[]; }
  173.  
  174. implementation
  175. end.